/*
 * @Description:
 * @Author: dh
 * @Date: 2021-09-16 17:54:11
 * @LastEditors: dh
 * @LastEditTime: 2025-09-15 14:02:15
 */

/**
 * self.name   worker名，配置的
 */

/* worker内部可以同步加载其他脚本 , 逗号分隔加载多个 */
// 注意，有时会报错误，多半是路径没写多对，后缀没写
importScripts('../../assets/lib/lodash.js')
// console.log(_)

/* self===this */
self.addEventListener('message', e => {
	console.log('%cworker-收到消息：' + e.data.type, 'color:blue')
	switch (e.data.type) {
		case 'init':
			self.postMessage('init-ok')
			break
		case 'getName':
			self.postMessage('denghong')
			break
		case 'loop':
			console.log('worker处理中')
			self.postMessage(handleLoop())
			break
		case 'close':
			console.log('关闭')
			self.close()
			break
		case 'test':
			// 二进制数据，处理数据。。。。
			const { size } = e.data.data
			const now = Date.now()
			console.log(`post message end ,大小${size}MB`)
			break
		default:
	}
})

function handleLoop() {
	let total = 0
	for (let i = 0; i < 5000_000_000; i++) {
		total += 1
	}
	return total
}
